Telecommunications networks have seen very rapid advances in their numbers of users, and the types of services available. In particular, the combination of data-orientated mobile telecommunications networks (e.g., 3G, 4G, LTE, Wi-Fi, etc.) and feature rich smart phones and tablet devices has enabled users to consume a greater variety of services. These increases in the number of users, and the types of services available, have increased the need for telecommunications network operators to deploy new nodes, such as policy application servers and charging application servers, within their infrastructures.
Another recent development within the computing industry has been the proliferation and availability of cheap computing resources, which in turn has facilitated scalable computing. Initially this was achieved through hardware advances, such as the transition from costly specialized mainframe hardware to the more readily available, and relatively inexpensive, commodity hardware. This commodity hardware is constantly becoming smaller and more efficient through economies of scale, and this has enabled datacenters to deploy an ever increasing amount of computer resources per cubic meter.
More recently, there has been a widespread adoption of virtualization technology, and this in turn has lead to the growth in popularity and use of cloud computing platforms. These cloud computing platforms enable the rapid (typically within seconds or minutes) scaling-up and scaling-down of computing resources in order to meet the current demand. Further, these computing resources are typically available for other uses when they would otherwise be underutilized. These computing resources are normally very cost effective, and they are only paid for the periods during which they are consumed.
Cloud computing environments may provide different types of resources as services, such as physical computing resources (known as Infrastructure-as-a-Service) or standardized software environments (known as Platform-as-a-Service). Cloud computing environments may be public, private, or hybrid. In public clouds, or community clouds, the infrastructure is shared between many organizations on a commercial basis. In private clouds the infrastructure is owned, operated, and used by a single organization. Hybrid clouds are a mix of public and private clouds.
Certain types of application servers, such as stateless application servers, can instantly benefit from being scaled using scalable computing resources, such as that provided by cloud computing environments. The throughput performance of these application servers is typically directly proportional to the performance of the scalable computing resources. However, other types of application servers, such as stateful application servers, are unable to scale linearly using existing scalable computing resources and solutions.
Many of the application servers required by telecommunications network operators are stateful. For example, both policy application servers and charging application servers need to maintain session stores that contain stateful information. Further, telecommunications network operators require that these application servers operate in a high-availability manner, such that they contain enough redundancy to ensure that there is not a single point-of-failure. New methods and systems that enable the scaling of such stateful and highly available application servers using scalable computing resources will be beneficial to telecommunication service providers and to consumers of services provided by telecommunication networks.